Modern high-performance switches for packet networks generally include a management agent, which answers queries and implements configuration requests. In InfiniBand (IB) networks, for example, switches are required to have a subnet management agent (SMA), which communicates with the subnet manager (SM), and the switch may support other types of management agents, as well. The SMA is a software entity, which is typically implemented on a suitable central processing unit (CPU). The CPU may be embedded in the switch or it may be connected externally.
To support management communications, IB switches are required to implement port 0 (zero) as a management port, to which management packets directed to the switch can be addressed. For this purpose, port 0 has its own local identifier (LID—the link-layer address in IB networks), which is assigned to it by the SM. When the SMA runs on an embedded CPU within the switch, port 0 is an internal switch port; otherwise, port 0 is configured for connection to an external CPU chip. In accordance with the IB transport protocol, packets are transmitted to and from port 0 using two queue pairs (QPs): QP0 for receiving and sending subnet management packets (SMPs) to and from the subnet manager (SM), and QP1 for general management packets (GMPs), which are used for other management functions. These management packets are referred to collectively as management datagrams (MADs).
When a MAD arrives at any port of the switch other than port 0, the receiving port checks whether the destination address (i.e., the destination local identifier—DLID) corresponds to port 0. If so, the packet is forwarded internally by the switch to QP0 or QP1 on port 0 for processing by the SMA or other management agent. Similarly, management agents of the switch may respond to queries and send event notifications by sending outgoing packets via QP0 or QP1 of port 0, which the switch then forwards to the network via the appropriate output port.